#ifndef _CHOWTOPLAYSTATE_H_
#define _CHOWTOPLAYSTATE_H_

#include "IGameState.h"
#include "Messaging/IListener.h"
#include "CEffect.h"
#include "Game Objects/CCamera.h"
#include "CMap.h"
#include "Game Objects/CNode.h"
class CBaseMessage;
class CPlayer;

class CHowToPlayState : public IGameState
{
private:
	CHowToPlayState(void);
	CHowToPlayState(const CHowToPlayState&);
	CHowToPlayState& operator=(const CHowToPlayState&);
	~CHowToPlayState(void);
	CNode* curnode;
	CPlayer* m_pPlayer;

	CMap map;
	bool isguide;
	int currentnode;
	bool ispaused;
public:
	static CHowToPlayState* GetInstance(void);

	void Enter(void);
	bool Input(void);
	void Update(float fElapsedTime);
	void Render(void);
	void Exit(void);
	
	static void MessageProc(CBaseMessage* pMsg);

	/////////////////////////////////////////////////////
	//	Function	:	Accessors
	//	Purpose		:	To get the specified type.
	/////////////////////////////////////////////////////
	bool GetIsGuideRunning(){return isguide;}
	/////////////////////////////////////////////////////
	//	Function	:	Modifiers
	//	Purpose		:	To set the specified type.
	/////////////////////////////////////////////////////
	void SetIsGuideRunning(bool IsRunning){isguide = IsRunning;}

};

#endif